﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
#include <stdbool.h>

//int main()
//{
//	int n = 0;//
//	//输入一个值
//	scanf("%d", &n);//& 取地址操作符
//	printf("%d\n", n);
//
//	return 0;
//}

//int main()
//{
//	int aeec = 0;
//	printf("请输入成绩:");
//	scanf("%d", &aeec);
//	printf("成绩是：%d\n", aeec);
//	return 0;
//}

//int main()
//{
//    int x;
//    float y;
//    // 用户输入 "    -13.45e12# 0"//对应的数据类型
//    scanf("%d%f", &x, &y);
//
//    printf("%d\n", x);
//    printf("%f\n", y);
//    return 0;
//}

//int main()
//{
//	int a = 0;
//	int b = 0;
//	int c = 0;
//
//	int ret = scanf("%d%d%d", &a, &b, &c);
//	
//	if (ret == 3)
//	{
//		printf("a=%d b=%d c=%d\n", a, b, c);
//	}
//	else
//	{
//		printf("ret = %d\n", ret);
//	}
//
//	return 0;
//}

//竞赛的OJ（online judge）题目
//去读取输入的数据的时候，有时候就会用到scanf的返回值判断
//


//int main()
//{
//	//输入的是字符串
//	//字符串可以存放在字符数组中
//	char arr[5];
//	scanf("%s", arr);//arr是数组，数组名就是地址，所以不需要&
//	printf("%s\n", arr);
//
//	return 0;
//}

//int main()
//{
//	char name[11];
//	scanf("%10s", name);//%10s 控制scanf溢出的风险
//	printf("%s",name);
//	return 0;
//}

//int main()
//{
//	char a = 0;
//	scanf("%c", &a);
//	printf("a = -----%c-----\n", a);//%c不会跳过空白字符
//	scanf("%c", &a);
//	printf("a = -----%c-----\n", a);
//
//	return 0;
//}
// 
//忽略赋值
//有时用户输入可能不符合预定格式
//例
//int main()
//{
//	int year = 0;
//	int month = 0;
//	int day = 0;
//	scanf("%d-%d-%d", &year, &month, &day);
//	printf("%d %d %d\n", year, month, day);
//	return 0;
//}

//int main()
//{
//	int year = 0;
//	int month = 0;
//	int day = 0;
//
//	scanf("%d-%d-%d", &year, &month, &day);
//
//	printf("%d-%d-%d\n", year, month, day);
//
//	return 0;
//}

//int main()
//{
//	int year = 0;
//	int month = 0;
//	int day = 0;
//
//	scanf("%d%*c%d%*c%d", &year, &month, &day);//在%c的%后面加*会读取但是不会储存
//
//	printf("%d-%d-%d\n", year, month, day);
//
//	return 0;
//}

//分支和循环
//if语句
//int main()
//{
//	int num = 0;
//	scanf("%d", &num);
//	if (num % 2 == 1)
//	{
//		printf("%d是奇数", num);
//	}
//	return 0;
//}

//else
//int main()
//{
//	int num = 0;
//	scanf("%d", &num);
//	if (num % 2 == 1)
//	{
//		printf("%d是奇数", num);
//	}
//	else
//		printf("%d是偶数", num);
//	return 0;
//}

//输入一个年龄，>=18就输出成年，否则就输出；未成年
//int main()
//{
//	int a = 0;
//	scanf("%d", &a);
//	if (a >= 18)
//		printf("成年了\n");
//	else
//		printf("未成年\n");
//	return 0;
//}

//要求输入一个整数，判断输入的整数是0，还是正数或者负数
// 嵌套if
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	if (n == 0)
//		printf("输入的值是0\n");
//	else
//	{
//		if (n > 0)
//			printf("输入的值是正数\n");
//		else
//			printf("输入的值是负数\n");
//	}
//	return 0;
//}

//int main()
//{
//	int a = 0;
//	scanf("%d", &a);
//	if (a == 0)
//		printf("输入的数是0");
//	else if (a > 0)
//		printf("输入的数是正数");
//	else
//		printf("输入的数是负数");
//	return 0;
//}

//输入一个整数，如果是正数，再判断是奇数还是偶数，并输出；如果不是正数则输出：非正数
//int main()
//{
//	int a = 0;
//	scanf("%d", &a);
//	if (a > 0)
//	{
//		if (a % 2 == 0)
//			printf("%d是偶数\n", a);
//		else
//			printf("%d是奇数\n", a);
//	}
//	else
//	{
//		printf("%d是非正数\n", a);
//	}
//	
//	return 0;
//}

//输入一个人的年龄
//如果年龄 < 18岁，打印"少年"
//如果年龄在18岁至44岁打印"青年"
//如果年龄在45岁至59岁打印"中老年"
//如果年龄在60岁至89岁打印"老年"
//如果90岁及以上打印"老寿星"
//int main()
//{
//	int num = 0;
//	scanf("%d", &num);
//	if (num < 18)
//		printf("少年");
//	else if (num <= 44)
//		printf("青年");
//	else if (num <= 59)
//		printf("中老年");
//	else if (num <= 89)
//		printf("老年");
//	else
//		printf("老寿星");
//	return 0;
//}
//
//如果有多个 if 和 else ，可以记住这样⼀条规则， else 总是跟最接近的 if 匹配。
//int main()
//{
//    int a = 0;
//    int b = 2;
//    if (a == 1)
//    {
//        if (b == 2)
//            printf("hehe\n");
//        else
//            printf("haha\n");
//    }
//    return 0;
//}

//关系操作符
// 
//int main()
//{
//	int a = 3;
//	int b = 5;
//	int c = 2;
//	//if (a < b < c) //想象的和实际执行的效果不一样
//	//	printf("hehe\n");
//
//	if (a < b && b < c) //&& -- 并且
//		printf("hehe\n");
//	return 0;
//}
//我们输⼊⼀个年龄，如果年龄在18岁~36岁之间，我们输出⻘年
//int main()
//{
//	int age = 0;
//	scanf("%d", &age);
//	//if(18<=age<=36)
//	if (age >= 18 && age <= 36)
//		printf("青年\n");
//	return 0;
//}

//三目操作符
//int main()
//{
//    int a = 0;
//    int b = 0;
//    scanf("%d", &a);
//
//    //if (a > 5)
//    //    b = 3;
//    //else
//    //    b = -3;
//    //三目操作符 - 条件操作符
//    b = (a > 5 ? 3 : -3);
//
//    printf("%d\n", b);
//    return 0;
//}

//使用条件表达式实现找两个整数中较大值。
//int main()
//{
//	int a = 0;
//	int b = 0;
//	int m = 0;
//	scanf("%d %d", &a, &b);
//	//if (a > b)
//	//	m = a;
//	//else
//	//	m = b;
//
//	m = (a > b ? a : b);
//
//	printf("%d\n", m);
//	return 0;
//}

//int main()
//{
//	//flag
//	int flag = 0;
//	scanf("%d", &flag);
//	//如果flag为假，要打印hehe
//	//if (!flag)
//	//{
//	//	printf("hehe\n");
//	//}
//
//	if (flag == 0)
//	{
//		printf("hehe\n");
//	}
//
//	return 0;
//}

//如果我们说月份是3月到5月，是春天

//int main()
//{
//	int month = 0;
//	scanf("%d", &month);
//
//	if (month >= 3 && month <= 5)
//		printf("春天\n");
//
//	return 0;
//}

//
//int main()
//{
//	int month = 0;
//	scanf("%d", &month);
//
//	if (month==12 || month==1 || month==2)
//		printf("冬天\n");
//
//	return 0;
//}
//

//练习判断闰年
//int main()
//{
//	int year = 0;
//	scanf("%d", &year);
//	if (year % 4 == 0 && year % 100 != 0)
//		printf("闰年\n");
//	else if (year % 400 == 0)
//		printf("闰年\n");
//
//	return 0;
//}

//int main()
//{
//	int year = 0;
//	scanf("%d", &year);
//	if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
//		printf("闰年\n");
//
//	return 0;
//}

//短路
//C语⾔逻辑运算符还有⼀个特点，它总是先对左侧的表达式求值，再对右边的表达式求值，这个顺序是保证的
//
//int main()
//{
//    int i = 0, a = 1, b = 2, c = 3, d = 4;
//    i = a++ && ++b && d++;
//    //
//   /* i = a++||++b||d++;*/
//    printf("a = %d\nb = %d\nc = %d\nd = %d\n", a, b, c, d);
//
//    return 0;
//}


//int main()
//{
//    int i = 0, a = 0, b = 2, c = 3, d = 4;
//   /* i = a++ && ++b && d++;*/
//
//    /*i = a++ || ++b || d++;*/
//    printf("a = %d\nb = %d\nc = %d\nd = %d\n", a, b, c, d);
//
//    return 0;
//}
//
//
//作业
//下面代码执行的结果是：死循环打印5

//int main()
//{
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		if (i = 5)
//			printf("%d ", i);
//	}
//	return 0;
//}

//打印3的倍数的数
//写一个代码打印1-100之间所有3的倍数的数字
//int main()
//{
//	int a = 0;
//	for (a = 3; a < 100; a += 3)
//	{
//		printf("%d\n", a);
//	}
//	return 0;
//}

///*写代码将三个整数数按从大到小输出。
//例如：
//输入：2 3 1
//输出：3 2 1
//int main()
//{
//    int a = 2;
//    int b = 3;
//    int c = 1;
//    scanf("%d%d%d", &a, &b, &c);
//    if (a < b)
//    {
//        int tmp = a;
//        a = b;
//        b = tmp;
//    }
//    if (a < c)
//    {
//        int tmp = a;
//        a = c;
//        c = tmp;
//    }
//    if (b < c)
//    {
//        int tmp = b;
//        b = c;
//        c = tmp;
//    }
//    printf("a=%d b=%d c=%d\n", a, b, c);
//    return 0;
//}